package day0521;

import java.util.Arrays;

public class Test8 {
    public static void main(String[] args) {
        int[] a={2, 3, 4, 6, 7, 8};
        sort(a);//1.排序
        //search(60,a);//2.从数组中查找某元素，并返回元素的编号
        binarySearch(6,a);//2.从数组中查找某元素，并返回元素的编号
    }

    private static void binarySearch(int n, int[] a) {
        int left=0;//表示查找范围的左边界的数组下标
        int right=a.length-1;//表示查找范围的右边界的数组下标
        while(left<=right){
            System.out.println("找元素");
            //表示查找范围内，中间位置的下标
            int mid=left + (right - left) / 2;
            if(n == a[mid]){
                System.out.println("从a数组中找到了元素n，位置是：" +mid);
                return;
            }else if(n>a[mid]){
                left=mid+1;
            }else{
                right=mid-1;
            }
        }
        System.out.println(-1);
    }



    private static void search(int n,  int[] a) {
        for (int i = 0; i < a.length; i++) {
            if(n==a[i]){
                System.out.println("n的位置是：" + i);
                return;
            }
        }
        System.out.println(-1);
        //从a数组中查找元素n
        //如果找到元素就打印元素序号(如果没找到就打印-1)
    }



    private static void sort( int[] a) {
        for(int j=1; j< a.length;   j++) {
            for (int i = 0; i < a.length - j; i++) {
                if (a[i] > a[i + 1]) {
                    a[i] = a[i] + a[i + 1];
                    a[i + 1] = a[i] - a[i + 1];
                    a[i] = a[i] - a[i + 1];
                }
            }
        }
        System.out.println(Arrays.toString(a));
    }
}
